package com.ruoyi.system.service;

import java.util.List;

import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.system.domain.Games;
import com.ruoyi.system.domain.Race;
import com.ruoyi.system.mapper.RaceMapper;

/**
 * 比赛项目Service接口
 *
 * @author ruoyi
 * @date 2024-01-22
 */
public interface IRaceService extends IService<Race> {

    /**
     * 学生报名参赛项目
     * @author yusheng
     * @since 2024/1/25 17:12
     * @param raceId 项目id
     * @return {@link Boolean }
     */
    void applyRace(Integer raceId);

    /**
     * 获取所有的运动会项目
     */
    List<Games> getGameList();


    /**
     * 查询比赛项目
     *
     * @param id 比赛项目主键
     * @return 比赛项目
     */
    public Race selectRaceById(Long id);

    /**
     * 查询比赛项目列表
     *
     * @param race 比赛项目
     * @return 比赛项目集合
     */
    public List<Race> selectRaceList(Race race);

    /**
     * 新增比赛项目
     *
     * @param race 比赛项目
     * @return 结果
     */
    public int insertRace(Race race);

    /**
     * 修改比赛项目
     *
     * @param race 比赛项目
     * @return 结果
     */
    public int updateRace(Race race);

    /**
     * 批量删除比赛项目
     *
     * @param ids 需要删除的比赛项目主键集合
     * @return 结果
     */
    public int deleteRaceByIds(Long[] ids);

    /**
     * 删除比赛项目信息
     *
     * @param id 比赛项目主键
     * @return 结果
     */
    public int deleteRaceById(Long id);
}
